package cn.sdormitory.component.bindValue.query.mapping;


import cn.sdormitory.component.bindValue.AnnotationContext;
import cn.sdormitory.component.bindValue.bean.info.BindInfo;
import cn.sdormitory.component.bindValue.query.AnnotationQuery;
import com.google.common.collect.Table;

import java.util.List;
import java.util.Map;

public interface MappingQuery extends AnnotationQuery<BindInfo,Map<String, String>> {

    @Override
    default Map<String, String> query(AnnotationContext<BindInfo, Map<String, String>> context){
        return getMapping(context.getInfo(),context.getVariables(),context.getParams());
    }

    Map<String, String> getMapping(BindInfo bindInfo, List<String> variables, Table<String, String, String> params);
}
